زمان تحویل پروژه ها شنبه 11/11/93 می باشد. دانشجویان بایستی تسلط کامل بر تمامی قسمت های کد نوشته شده را داشته باشند، در غیر این صورت نه تنها نمره ای به پروژه آنها تعلق نخواهد گرفت بلکه از نمره آن ها نیز کسر خواهد گردید.
پروژه 1) حل جدول سودوکو را با روش بازگشت به عقب بنویسید. توجه نمایید که در ابتدا و انتهای آن تابعی بنویسید که ساعت سیستم را چاپ نماید یعنی مدت زمان اجرای برنامه تا رسیدن به جواب را نشان دهد. خروجی برنامه نیز جدول حل شده می باشد. فقط یافتن یک جواب برای جدول کافی است. زمان اجرای برنامه مهم است.(2.5 نمره)
ورودی فایل s.txt است که دارای 9 سطر است و در هر سطر هم 9 تا عدد است که با فاصله از هم جدا شده است. به جای خانه های خالی صفر قرار دارد. به عنوان مثال برای جدول زیر ورودی به شکل زیر است:
708000300
000201000
500000000
040000026
300080000
000100090
090600004
000070500
000000000
|
|
3 |
|
|
|
8 |
|
7 |
|
|
|
1 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
5 |
6 |
2 |
|
|
|
|
|
4 |
|
|
|
|
|
8 |
|
|
|
3 |
|
9 |
|
|
|
1 |
|
|
|
4 |
|
|
|
|
6 |
|
9 |
|
|
|
5 |
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
پروژه 2) فرض کنید آرایه[1….n] A داده شده است که دارای مقادیر متمایز(غبرمشابه) و با دو ویژگی A[1]>A[2] و A[n-1]<A[n] می باشد. یک عنصر A[x] مینیمم محلی گفته می شود در صورتی که مقدار آن از هر دو همسایه آن کمتر باشد. (A[x+1]>A[x] و A[x-1]<A[x]) به عنوان مثال دو مینیمم محلی در آرایه زیر وجود دارد که اعداد 1 و 3 می باشند:
9 3 7 2 1 4 5
با یک بار پیمایش این آرایه با مرتبه زمانی O(n) می توان می نیمم های محلی را بدست آورد. برنامه ای بنویسید که مینیمم های محلی را با مرتبه زمانی O(log n) پیدا کند. (2.5 نمره)
نظرات شما عزیزان: